export default {
	// 为当前模块开启命名空间
	namespaced: true,

	// 模块的 state 数据
	state: () => ({
		address: JSON.parse(uni.getStorageSync('address') || '{}'),
		token: uni.getStorageSync('token') || '',
		// 用户个人信息
		userinfo: JSON.parse(uni.getStorageSync('userinfo') || '{}')
	}),

	// 模块的 mutations 方法
	mutations: {
		updateAddress(state, address) {
			state.address = address;
			this.commit('m_user/saveToStorage');
		},
		saveToStorage(state) {
			uni.setStorageSync('address', JSON.stringify(state.address));
		},
		updateUserInfo(state, userinfo) {
			state.userinfo = userinfo;
			this.commit('m_user/saveUserInfoToStorage');
		},
		saveUserInfoToStorage(state) {
			uni.setStorageSync('userinfo', JSON.stringify(state.userinfo));
		},
		updateToken(state, token) {
			state.token = token;
			this.commit('m_user/saveTokenToStorage');
		},
		saveTokenToStorage(state) {
			uni.setStorageSync('token', state.token);
		}
	},

	// 模块的 getters 属性
	getters: {
		addStr(state) {
			if (!state.address.provinceName) return ''
			// 拼接 省，市，区，详细地址 的字符串并返回给用户
			return state.address.provinceName + state.address.cityName + state.address.countyName + state.address
				.detailInfo
		}
	},
}
